package com.quan.mall.service;

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.quan.commons.core.bean.R;
import com.quan.mall.commons.vo.OmsOrderReturnApplyVo;
import com.quan.mall.commons.vo.OmsOrderVo;
import com.quan.mall.entity.OmsOrderReturnApply;
import com.quan.commons.core.utils.PageUtils;
import com.quan.commons.core.biz.support.MyBaseService;

import java.util.List;

/**
 * 订单-退货申请
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2021-03-09 17:22:38
 */
public interface OmsOrderReturnApplyService extends MyBaseService<OmsOrderReturnApply> {

    /**
     * 列表查询
     * @param vo
     * @return
     */
    public List<OmsOrderReturnApplyVo> queryList(PageUtils pageUtils, OmsOrderReturnApplyVo vo) ;

    /**
     * 分页查询
     * @param pageUtils
     * @param vo
     * @return
     */
    public PageUtils queryPage(PageUtils pageUtils, OmsOrderReturnApplyVo vo);

    /**
     * 获取售后退货信息
     * @param id
     * @return
     */
    OmsOrderReturnApplyVo getOrderReturnApplyInfo(Long id);

    /**
     * 修改退款状态
     * @param id
     * @param status
     */
    public void changeReturnStatus(Long id, Integer status);

    /**
     * 会员申请退款
     * @param vo
     */
    public OmsOrderReturnApply apply(OmsOrderReturnApplyVo vo);

    /**
     * 商家拒绝申请
     * @param vo
     */
    public void reject(OmsOrderReturnApplyVo vo);

    /**
     * 商家同意退款
     * @param vo
     */
    public R agree(OmsOrderReturnApplyVo vo);

    /**
     * 会员提交快递信息
     * @param vo
     */
    public void submitExpress(OmsOrderReturnApplyVo vo);

    /**
     * 商家拒收货
     * @param vo
     */
    public void rejectGoods(OmsOrderReturnApplyVo vo);

    /**
     * 商家确认收货
     * @param vo
     */
    public void confirmGoods(OmsOrderReturnApplyVo vo);

    /**
     * 商家发起退款
     * @param vo
     */
    public R refund(OmsOrderReturnApplyVo vo);

}

